let qs = Qs;
let baseURL = 'http://39.106.47.64:7788'; //①改自己的后台
//1.提供登录方法，提供获取token方法
//登录页面
// login({},function(){
//   成功、跳转页面
// },function(){});
// api层,与后台接口对接层次   封装http请求
// 业务逻辑层,前端业务逻辑
// 视图层/高层,控制页面数据变化或页面样式变化
function login(user, successFun, errorFun) {
    myAjax.postJSON('/user/login', user).then((res) => {
        console.log(res, '----');
        if (res.status == 200) { //res.data  is null
            //存token
            // res.data.token  //方便下次使用,安全考虑
            sessionStorage.setItem('token', res.data.token);
            successFun(res); //业务逻辑层处理  
        } else {
            errorFun(res);
        }
    }).catch((err) => {
        console.log(err);
        errorFun(err); //业务逻辑层处理
    });
    // myAjax.postJSON(baseURL + '/user/login', user, (res) => {
    //   //保存到sessionStorage中
    //   sessionStorage.setItem('token', JSON.parse(res).data.token);
    // }, (error) => {
    //   console.log(error);
    // });
}
//2.myAjax对象，对象里有get方法，postForm方法，postJSON方法
// myAjax.get('/my',{参数对象作为数据}).then((res)=>{响应成功数据}).catch((err)=>{err错误对象});
let myAjax = {
    get(url, params) { //需要两个参数，代表访问的接口路径和请求的参数
        return new Promise((resolve, reject) => { //创建一个Promise对象返回
            $.ajax({ //需要一个回调函数，里面有两个形参resolve,reject
                url: baseURL + url, //内部编写异步代码
                method: 'get',
                data: qs.stringify(params),
                headers: { //头部
                    'Content-Type': 'application/x-www-form-urlencoded;charset=utf8',
                    'Authorization': sessionStorage.getItem('token')
                },
                success(res) { //回调
                    // resolve(res);  //调用resolve函数，传出res响应数据
                    if (res.status == 200) {
                        resolve(res);
                    } else {
                        reject(res);
                    }
                },
                error(err) { //回调
                    reject(err); //调用rejecct函数，传出err错误对象，传出去
                }
            })
        });
    },
    // get: function (url, params, success, error) {
    //  
    // },
    postForm(url, params) {
        return new Promise((resolve, reject) => {
            $.ajax({
                url: baseURL + url,
                method: 'post',
                data: qs.stringify(params),
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded;charset=utf8',
                    'Authorization': sessionStorage.getItem('token')
                },
                success(res) {
                    // resolve(res);   //成功 ，res响应，
                    if (res.status == 200) {
                        resolve(res);
                    } else {
                        reject(res);
                    }
                },
                error(err) {
                    reject(err); //失败，err
                }
            })
        })
    },
    /*postForm: function (url, params, success, error) {
        偏底层封装
    },*/
    postJSON(url, params) {
        return new Promise((resolve, reject) => {
            $.ajax({
                url: baseURL + url,
                method: 'post',
                data: JSON.stringify(params),
                headers: {
                    'Content-Type': 'application/json;charset=utf8',
                    'Authorization': sessionStorage.getItem('token')
                },
                success(res) {
                    // resolve(res);
                    if (res.status == 200) {
                        resolve(res);
                    } else {
                        reject(res);
                    }
                },
                error(err) {
                    reject(err);
                }
            })
        })
    },
};
//   postJSON: function (url, params, success, error) {

// };